package river_city_ransom.decorators;

import exceptions.ComposantError;
import river_city_ransom.services.Objet;
import river_city_ransom.services.Position;
import river_city_ransom.types.ObjetNom;


public class Objet_D extends Equipable_D implements Objet {
	public Objet_D(Objet delegate) {
		super(delegate);
	}
	
	@Override
	protected Objet delegate() {
		return (Objet) super.delegate();
	}
	
	@Override
	public boolean equals(Object o) {
		return delegate().equals(o);
	}
	
	/** _________________________________________________________ OBSERVATORS */
	@Override
	public ObjetNom nom() {
		return delegate().nom();
	}
	
	@Override
	public int valeur() {
		return delegate().valeur();
	}
	
	@Override
	public int bonusDeForce() {
		return delegate().bonusDeForce();
	}
	
	@Override
	public boolean estMarchandable() {
		return delegate().estMarchandable();
	}
	
	/** ________________________________________________________ CONSTRUCTORS */
	@Override
	public void init(ObjetNom n) throws ComposantError {
		delegate().init(n);
	}
	
	/** ___________________________________________________________ OPERATORS */
	@Override
	public void deplacer(Position p) throws ComposantError {
		delegate().deplacer(p);
	}
}
